#include "def.h"

void setroad(Graph &G){
	int v1=0,v2=0,w=0;
	while(true){
		cout<<"输入-1返回:"<<endl;
		cout<<"请输入顶点1:";
		cin>>v1;
		if(v1==-1 || v2==-1 || w==-1){
			system("cls"); 
			return;
		}
		cout<<"请输入顶点2:";
		cin>>v2;
		if(v1==-1 || v2==-1 || w==-1){
			system("cls"); 
			return;
		}
		cout<<"请输入这两点之间的距离:";
		cin>>w;
		if(v1==-1 || v2==-1 || w==-1){
			system("cls"); 
			return;
		}
		else{
			if(G.arcs[v1][v2]!=INF){
				cout<<G.vexs[v1].name<<"和"<<G.vexs[v2].name<<"这两个景点之间已经存在路径，不需要在添加路径！"<<endl;
				return;
			}
			G.arcNum++;
			G.arcs[v1][v2]=w;
			G.arcs[v2][v1]=w;
			cout<<"成功在"<<G.vexs[v1].name<<"和"<<G.vexs[v2].name<<"这两个景点之间添加一条长度为"<<w<<"的路径"<<endl;
		} 
	}

}

//删除一个顶点 
void delnode(Graph &G){
	while(1){
		int v;
		cout<<"请输入要删除的顶点(输入-1返回)";
		cin>>v; 
		if(v==-1){
			system("cls"); 
			return;
		}
		 
		int i,j;
		for(i=0;i<G.vertexNum;i++)
			if(G.arcs[v][i]!=INF){
				G.arcs[v][i]=INF;
				G.arcs[i][v]=INF;	
				G.arcNum=G.arcNum-2;
			}
		for(i=v+1;i<G.vertexNum;i++)//行 
			for(j=0;j<G.vertexNum;j++)//列 
				G.arcs[i-1][j]=G.arcs[i][j];	
		for(i=v+1;i<G.vertexNum;i++)//列 
			for(j=0;j<G.vertexNum-1;j++)//行 
				G.arcs[j][i-1]=G.arcs[j][i];
		for(i=v+1;i<G.vertexNum;i++)
			G.vexs[i-1]=G.vexs[i];
		G.vertexNum--;
  

	}


}